跳到主要内容

BM32 合并二叉树

https://www.nowcoder.com/practice/7298353c24cc42e3bd5f0e0bd3d1d759

这题比较简单,唯一的问题就是如何 “合并”,其实只需选择一个 Tree 来作为合并后的 Tree 就行了

func mergeTrees( t1 *TreeNode ,  t2 *TreeNode ) *TreeNode {
if t1 == nil {
return t2
}
merge(t1, t2)
return t1
}

func merge(t1 *TreeNode , t2 *TreeNode) {
if t1 != nil && t2 != nil {
t1.Val += t2.Val
if t1.Left != nil {
merge(t1.Left, t2.Left)
} else {
t1.Left = t2.Left
}

if t1.Right != nil {
merge(t1.Right, t2.Right)
} else {
t1.Right = t2.Right
}
}
}

23/5/19

没想出来